<?php

/**
 * 汽车接口
 */
interface ICar
{
	/**
	 * 介绍方法
	 */
	public function intro();
}

/**
 * 面包车
 */
class Van implements ICar
{
	public function intro()
	{
		echo '我是面包车。<br/>';
	}
}

/**
 * 卡车
 */
class Truck implements ICar
{
	public function intro()
	{
		echo '我是卡车。<br/>';
	}
}

/**
 * 客车
 */
class Bus implements ICar
{
	public function intro()
	{
		echo '我是客车。<br/>';
	}
}

/**
 * 简单工厂模式
 */
class Factory
{
	public static function createCar($type)
	{
		return new $type;
	}
}


/**
 * 测试类
 */
class Client
{
	public static function main()
	{
		echo '从一个工厂创建不同的汽车。<br/>';
		echo '创建客车。<br/>';
		$bus = Factory::createCar('Bus');
		$bus->intro();
		
		echo '面包车客车。<br/>';
		$van = Factory::createCar('Van');
		$van->intro();
		
		echo '创建卡车。<br/>';
		$truck = Factory::createCar('Truck');
		$truck->intro();
	}
}

Client::main();